package com.yike.user.service;

import com.yike.user.entity.PlatformMenu;
import com.yike.user.param.PlatformMenuPageParam;
import com.yike.common.base.BaseService;
import com.yike.common.pagination.Paging;
import com.yike.user.param.PlatformMenuParam;
import com.yike.user.vo.PlatformMenuTreeVo;
import com.yike.user.vo.PlatformMenuVo;

import java.util.List;

/**
 * 平台菜单 服务类
 *
 * @author Sakura
 * @since 2024-10-29
 */
public interface PlatformMenuService extends BaseService<PlatformMenu> {

    /**
     * 保存
     *
     * @param platformMenuParam
     * @return
     * @throws Exception
     */
    boolean savePlatformMenu(PlatformMenuParam platformMenuParam) throws Exception;

    /**
     * 修改
     *
     * @param platformMenuParam
     * @return
     * @throws Exception
     */
    boolean updatePlatformMenu(PlatformMenuParam platformMenuParam) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deletePlatformMenu(Long id) throws Exception;

    PlatformMenuVo getPlatformMenu(Long id) throws Exception;


    /**
     * 获取分页对象
     *
     * @param platformMenuPageParam
     * @return
     * @throws Exception
     */
    Paging<PlatformMenuVo> getPlatformMenuPageList(PlatformMenuPageParam platformMenuPageParam) throws Exception;

    List<PlatformMenuTreeVo> tree() throws Exception;

}
